package com.cntcdt.api.db.model.base;

import java.io.Serializable;
import java.sql.ResultSet;
import java.util.Date;

/**
 * 这是cnt_device_lostlink_record的数据传输对象基类,直接与表对应<br>
 */
public abstract class DeviceLostlinkRecordModelBase  implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 属性:id<br>
     */
    private Integer id = 0;
    /**
     * 属性:terminal<br>
     */
    private String terminal = "";
    /**
     * 属性:lostLinkTime<br>
     */
    private Date lostLinkTime = new Date();
    /**
     * 属性:linkTime<br>
     */
    private Date linkTime = new Date();
    /**
     * 属性:lostTimeLong<br>
     */
    private Integer lostTimeLong = 0;
    /**
     * 属性:shopName<br>
     */
    private String shopName = "";

    /**
     *  默认构造方法,构造一个默认的DeviceLostlinkRecordModelBase对象
     */
    public DeviceLostlinkRecordModelBase(){
    }

    /**
     *  构造函数
     *  @param rs 数据库查询结果集
     */
    public DeviceLostlinkRecordModelBase(ResultSet rs){
           try{
               this.id = rs.getInt("id");
               this.terminal = rs.getString("terminal");
               this.lostLinkTime = rs.getDate("lostLinkTime");
               this.linkTime = rs.getDate("linkTime");
               System.out.print(rs.getDate("linkTime"));
               this.lostTimeLong = rs.getInt("lostTimeLong");
               this.shopName = rs.getString("shopName");
           }catch(Exception e) {
              e.printStackTrace(); 
           }
    }


    /**
     * 设置属性id<br>
     * @param id 待设置的属性id的值
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取属性id<br>
     * @return 属性id的值
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置属性terminal<br>
     * @param terminal 待设置的属性terminal的值
     */
    public void setTerminal(String terminal) {
        this.terminal = terminal;
    }

    /**
     * 获取属性terminal<br>
     * @return 属性terminal的值
     */
    public String getTerminal() {
        return "000"+terminal;
    }

    /**
     * 设置属性lostLinkTime<br>
     * @param lostLinkTime 待设置的属性lostLinkTime的值
     */
    public void setLostLinkTime(Date lostLinkTime) {
        this.lostLinkTime = lostLinkTime;
    }

    /**
     * 获取属性lostLinkTime<br>
     * @return 属性lostLinkTime的值
     */
    public Date getLostLinkTime() {
        return lostLinkTime;
    }

    /**
     * 设置属性linkTime<br>
     * @param linkTime 待设置的属性linkTime的值
     */
    public void setLinkTime(Date linkTime) {
        this.linkTime = linkTime;
    }

    /**
     * 获取属性linkTime<br>
     * @return 属性linkTime的值
     */
    public Date getLinkTime() {
        return linkTime;
    }

    /**
     * 设置属性lostTimeLong<br>
     * @param lostTimeLong 待设置的属性lostTimeLong的值
     */
    public void setLostTimeLong(Integer lostTimeLong) {
        this.lostTimeLong = lostTimeLong;
    }

    /**
     * 获取属性lostTimeLong<br>
     * @return 属性lostTimeLong的值
     */
    public Integer getLostTimeLong() {
        return lostTimeLong;
    }

    /**
     * 设置属性shopName<br>
     * @param shopName 待设置的属性shopName的值
     */
    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    /**
     * 获取属性shopName<br>
     * @return 属性shopName的值
     */
    public String getShopName() {
        return shopName;
    }


    /**
     * 比较两个对象在逻辑上是否相等
     * @see java.lang.Object#equals(java.lang.Object)
     */
    public boolean equals(Object other) {
        if (this == other) {
            return true;
        }
        if (!(other instanceof DeviceLostlinkRecordModelBase)) {
            return false;
        }

        final DeviceLostlinkRecordModelBase otherModel = (DeviceLostlinkRecordModelBase) other;
        if (getId()!=null && !getId().equals(otherModel.getId())) {
            return false;
        }
        return true;
    }

    /**
     * 根据主键生成HashCode
     * @see java.lang.Object#hashCode()
     */
    public int hashCode() {
        StringBuffer buffer = new StringBuffer();
        buffer.append('|').append(id);
        return buffer.toString().hashCode();
    }
}
